package com.kaizeli.website.service;

import com.kaizeli.website.pojo.dto.base.PageDTO;
import com.kaizeli.website.pojo.entity.ProjectContractDO;
import com.kaizeli.website.pojo.vo.ProjectContractVO;
import com.kaizeli.website.query.ProjectContractQuery;

import java.util.List;

/**
 * 项目合同服务接口
 */
public interface ProjectContractService {
    
    /**
     * 分页查询项目合同列表
     */
    PageDTO<ProjectContractVO> pageQuery(ProjectContractQuery query);
    
    /**
     * 根据ID查询项目合同详情
     */
    ProjectContractVO getById(Long id);
    
    /**
     * 新增项目合同
     */
    Long save(ProjectContractDO projectContractDO);
    
    /**
     * 更新项目合同信息
     */
    Boolean update(ProjectContractDO projectContractDO);
    
    /**
     * 根据ID删除项目合同
     */
    Boolean deleteById(Long id);
    
    /**
     * 根据项目ID查询项目合同列表
     */
    List<ProjectContractVO> listByProjectId(Long projectId);
    
    /**
     * 查询所有项目合同列表
     */
    List<ProjectContractVO> listAll();
}

